using System;
using System.Collections.Generic;
using System.Text;
using ElteIk.RoboSoccer.Core;

namespace ElteIk.RoboSoccer.Communication
{
    /// <summary>
    /// Interface for clients that calculate tactics.
    /// 
    /// You must only make your Game instance public, the communicator units will update and read it when its time to do so.
    /// 
    /// You may provide a Do() method that does all the calculation or you may also start a separate thread at the first call of Do().
    /// The communicator needs only a sometimes unlocked Game property.
    /// </summary>
    public interface ITactics
    {
        RoboSoccerGame Game { get; set; }
        void Do();
    }
}
